草庐IT

c++ - constexpr 和 ODR

全部标签

c++ - 如何在执行应用程序时获取已用内存量

我查看了GDB文档,但没有找到任何有用的或显示我需要的东西:我的应用程序使用的最大内存量。如果相关的话,我正在使用MinGW-w64(适用于Windows的GCC)。我想要以编程方式进行某些操作,而不是“查看您的任务管理器”。另外:我的应用程序一次性执行,它不会在任何地方停止或暂停,我希望保持这种状态。谢谢! 最佳答案 你可以包装malloc/free或new/delete:How-to-profile-memory-usage-of-a-c-program因此您可以随时查看您正在使用多少内存(堆)。

c++ - C/C++ 将二进制数据映射到结构成员

很难说出这里要问什么。这个问题模棱两可、含糊不清、不完整、过于宽泛或夸夸其谈,无法以目前的形式得到合理的回答。如需帮助澄清此问题以便重新打开,visitthehelpcenter.关闭11年前。比方说,我有以下文本文件:list1:Endianess=littleAddressModel=32typedefstruct{intx;inty;floatf;doubled;}A;instance1:0x0000000100000002000048C19A99999999993C40instance2:0x00100257000000090000000FBA99359976992397其中i

c++ - 在 C++ 中将矩阵高效分解为方形子矩阵

我通过使用1D数据类型并将其包装到行和列中,在C++中实现了Matrix数据类型。现在,我希望有可能从此时开始创建正方形/分块子矩阵,并且我想在内存中进行。问题是我希望这些子矩阵中的一些可以转移到GPU内存并可以在那里并行处理它们。例如,这对矩阵乘法很有用。由于这些子矩阵在主内存中没有对齐,如果不创建单独的拷贝,将它们作为一个单元复制到设备内存看起来是不可能的?我想让这个直接的GPU子矩阵复制映射到CPU原始矩阵以用于更新和效率目的。我事先不知道确切的分区。有人知道我怎样才能实现它吗?提醒一下,矩阵需要按block划分,而不是按行划分,这在C/C++中相对容易。

c++ - 从源代码编译与 deb 包编译

我正在Ubuntu上从源代码编译几个C/C++包。我将构建的结果与使用debian安装运行的结果进行比较,发现我的可执行文件速度较慢。我使用readelf-a来比较这两个可执行文件。“.rela.dyn”的重定位部分之类的东西有很大不同,但我不确定我应该寻找什么样的文档来理解这样的差异。有没有人对尝试调整gcc来生成像我在deb包中找到的可执行文件有任何建议? 最佳答案 好吧,因为它是开源的,你应该得到他们用来生成可执行文件的编译标志:)我的2c 关于c++-从源代码编译与deb包编译,

c++ - 如何同步终端上的输入和输出?

我正在为自定义脚本语言编写一个linuxshell,我想在用户为单个语句输入的每个后续行之前打印一个“...”,第一行有一个“>>>”打印出来,然后等待输入。下面是一个例子:>>>voidf(){..."thisisatest"...}>>>我正在阅读带有fgets的行,在我完全阅读它之后,我打印“...”,并使用对fgets的另一个调用重复。这适用于中等速度的交互式输入。但是如果我将包含换行符的代码粘贴到终端中,我得到的是以下内容>>>voidf(){"thisisatest"}......>>>“...”打印得太晚了,即使我在将它们打印到stdout之后发出了一个fflush调用。

c++ - 使用 clang 从 stdin 自动完成

我已经在Emacs中设置了自动完成环境,使用clang2.8作为解析器。它运行良好,但依赖于在完成之前将当前编辑的缓冲区保存到文件中。这很慢,所以我试图让clang解析通过stdin提供给它的文件,但到目前为止运气不好。我在解析文件时输入clang的命令行如下:clang-cc1-fsyntax-only-Iinclude/-code-completion-atfoo.cpp:10:20foo.cpp这很好用。但是尝试从stdin读取失败。我试过这个:catfoo.cpp|clang-xc++-cc1-fsyntax-only-Iinclude/-code-completion-at-

c++ - 使用 char 参数从 <cctype> 调用函数是否安全?

C编程语言表示来自的函数遵循一个共同的要求:ISOC99,7.4p1:Inallcasestheargumentisanint,thevalueofwhichshallberepresentableasanunsignedcharorshallequalthevalueofthemacroEOF.Iftheargumenthasanyothervalue,thebehaviorisundefined.这意味着下面的代码是不安全的:intupper(constchar*s,size_tindex){returntoupper(s[index]);}如果此代码在char的实现上执行与sig

c++ - cvQueryFrame 是否预先有帧缓冲区?

如果我这样做:while(1){//retrieveimagefromthecamerawebCamImage=cvQueryFrame(camera)//where'camera'iscvCreateCameraCapture(0)//dosomeheavyprocessingontheimagethatmaytakearoundhalfasecondfuncA()}现在,当我进行连续迭代时,webCamImage似乎滞后了!即使我移动相机,webCamImage也需要很长时间才能更新到新的视野,并且它会不断显示和处理以前的视野相机帧。我假设cvQuery有一些缓冲区可以检索帧。你能

c++ - 嵌套的 cmake 库

我们有一个这样组织的C/C++项目:lib1/CMakeLists.txtsublib1/CMakeLists.txtfoo.clog.clog.h目录sublib1/与CMakeLists.txt文件中的add_library和target_link_librariesCMake命令链接。改变:我们不能从foo.c/some-func调用log.c/some-func-2中的函数。链接器提示那些函数未定义。 最佳答案 库和目标文件在您的链接命令中出现的顺序很重要,并且可能导致undefinedsymbol的复杂问题。您没有在帖子中

c++ - 词频统计

在面试前,我遇到了这样一个问题:给定一个由单个空格分隔的单词组成的字符串,按单词在字符串中出现的次数降序打印单词。例如,输入字符串“abb”将生成以下输出:b:2a:1首先,我想说输入字符串是由单字母单词还是多字母单词组成的还不是很清楚。如果是前者,那就简单了。这是我的想法:intc[26]={0};char*pIn=strIn;while(*pIn!=0&&*pIn!=''){++c[*pIn];++pIn;}/*howtosortthearrayc[26]andremembertheoriginalindex?*/我可以获得输入字符串中每个单字母单词出现频率的统计数据,并且可以对其